package com.ruoyi.common.core.domain.model;

import com.ruoyi.common.enums.UserBusinessSubType;
import com.ruoyi.common.enums.UserBusinessType;

import java.util.Date;

/**
 * Description:
 * Author: YangShiWei
 * Email: strongwalter2014@gmail.com
 * Datetime: 2023/1/28 20:34
 */
public interface UserBusinessInfo {

    Long getId();

    default Long getFzr() {
        return null;
    }

    String getName();

    String getIdno();

    String getArea();

    String getMobile();

    default String getType() {
        return null;
    }

    default Date getKeyDate() {
        return null;
    }

    UserBusinessType getBusinessType();

    UserBusinessSubType getBusinessSubType();

    static UserBusinessInfo admin() {
        return new UserBusinessInfo() {
            @Override
            public Long getId() {
                return 1L;
            }

            @Override
            public String getName() {
                return "管理员";
            }

            @Override
            public String getIdno() {
                return "admin";
            }

            @Override
            public String getArea() {
                return null;
            }

            @Override
            public String getMobile() {
                return "admin";
            }

            @Override
            public UserBusinessType getBusinessType() {
                return UserBusinessType.USER_MEMBER;
            }

            @Override
            public UserBusinessSubType getBusinessSubType() {
                return UserBusinessSubType.MEMBER_LDXZ;
            }
        };
    }

}
